使用GitHub Actions 持续集成部署Hexo

使用GitHub Actions 持续集成部署Hexo

使用GitHub Actions 持续集成部署Hexo

Hexo 作为一个静态的博客框架,相比于wordpress,也是有其轻便,速度快的优点,但是毕竟是静态的,部署起来并没有那么方便,如果在本地的话每次更新,都需要hexo clean -d, 会很麻烦。Github Actions 早在2018年就发布了最初的版本, 作为一个方便的可以持续集成部署的工具,我们可以用它来部署hexo,让blog以后的更新维护更加方便快捷。

需要两个仓库,一个来放blog的源码, 一个放html, 如name.github.io

首先在git bash中运行:

生成密钥 yaml >folded
1
ssh-keygen -t rsa -f github-deploy-key

此时可以得到两个文件一个是 github-deploy-key, 另一个是github-deploy-key.pub, 首先复制github-deploy-key的内容然后,到博客的源码仓库,打开Settings->Secrets->Actions, 选择New Secrets,Name 填HEXO_DEPLOY_PRI,(这个后面文件会用到建议不做更改),然后打开博客页面文件所在的仓库,打开Settings->Deploy Key, 选择Add deploy key, 名字填HEXO_DEPLOY_PUB, 把github-deploy-key.pub的内容复制进去。

在博客源码的仓库中新建.github/workflows/deploy.yml,

接下来就是配置Github Actions,根据注释修改内容, 填在deploy.yml, 中:

Actions yaml >folded
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
name: Hexo deploy

on:
push:
branches:
- main #当该分支的内容改变时会触发Actions,请根据实际情况更改成对应分支

env:
GIT_USER: #用户名
GIT_EMAIL: #邮箱
DEPLOY_REPO: #用户名/name.github.io
DEPLOY_BRANCH: #和上个分支相同

jobs:
build:
name: Build on node $ and $
runs-on: ubuntu-latest
strategy:
matrix:
os: [ubuntu-latest]
node_version: [16.x]
# 使用最新的Ubuntu环境
steps:

- name: Checkout
uses: actions/checkout@v3 #使用 actions/checkout@v3 版本为 node.16

- name: Checkout deploy repo
uses: actions/checkout@v3
with:
repository: $
ref: $
path: .deploy_git

- name: Use Node.js $
uses: actions/setup-node@v3 #使用 actions/setup-node@v3 版本为 node.16
with:
node-version: 16

- name: Configuration environment
env:
HEXO_DEPLOY_PRI: $
run: |
sudo timedatectl set-timezone "Asia/Shanghai"
mkdir -p ~/.ssh/
echo "$HEXO_DEPLOY_PRI" > ~/.ssh/id_rsa
chmod 600 ~/.ssh/id_rsa
ssh-keyscan github.com >> ~/.ssh/known_hosts
git config --global user.name "" #用户名
git config --global user.email "" # 邮箱

- name: Install dependencies
run: |
npm install
npm install hexo-cli -g
# 部署hexo 环境
- name: Deploy hexo
run: |
hexo clean
hexo g
hexo d
#部署 depoly

根据实际情况更改即可 ,推荐搭配GitHub的Cloud VSCode 使用效果更佳。

作者

Jekyll_Y

发布于

2022-10-12

更新于

2023-03-02

许可协议

评论